package com.itheima.d3_Math_Runtime_System;

import java.io.IOException;

/**
 * 目标：了解下Runtime的几个常见方法。
 */
public class RuntimeTest {
    public static void main(String[] args) throws IOException {

        // 1、public static Runtime getRuntime() 返回与当前Java应用程序关联的运行时对象。
        Runtime r = Runtime.getRuntime();

        // 2、public void exit(int status) 终止当前运行的虚拟机,该参数用作状态代码; 按照惯例，非零状态代码表示异常终止。
        // r.exit(0);

        // 3、public int availableProcessors(): 获取虚拟机能够使用的处理器数。
        int processors = r.availableProcessors();
        System.out.println(processors); //10

        // 4、public long totalMemory() 返回Java虚拟机中的内存总量。
        long totalMemory = r.totalMemory();
        System.out.println(totalMemory / 1024.0 / 1024.0 + "MB"); // 1024 = 1K     1024 * 1024 = 1M

        // 5、public long freeMemory() 返回Java虚拟机中的可用内存量
        long freeMemory = r.freeMemory();
        System.out.println(freeMemory / 1024.0 / 1024.0 + "MB"); //1024 = 1K   1024 * 1024 = 1M

        // 6、public Process exec(String command) 启动某个程序，并返回代表该程序的对象。
        //Windows  启动系统自带记事本
        //Process p1 = r.exec("notepad");//启动

        //Mac 执行终端命令  touch 在用户桌面创建一个文件HelloWorld.java
        Process p2 = r.exec("touch /Users/lyc/Desktop/HelloWorld.java");

    }
}
